const jwt = require ('jsonwebtoken');      // 引入 jsonwebtoken包 
const tokenKey = 'UT9zo#W7!@50ETnk';      // 设定一个密钥，用来加密和解密Token 
// 定义一个对象 
const Token = { 
  /** 
*	Token加密方法 
*	@param data 需要加密在Token中的数据 
*	@param time Token的过期时间，单位：s 
*	@returns {*} 返回一个Token 
   */ 
  encrypt: function (data, time) {     
    return jwt.sign (data, tokenKey, {expiresIn: time}) 
  }, 
  /** 
*	Token解密方法 
*	@param token 加密之后的Token 
*	@returns 返回对象 
*	{{token: boolean（true表示Token合法，false则不合法）, 
*	data: *（解密出来的数据或错误信息）}} 
   */ 
  decrypt: function (token) {     
    try {       
        let data = jwt.verify (token, tokenKey);       
        return {         
            token: true,         
            data: data       
        }; 
    } catch (e) { 
      return {         
        token: false,         
        data: e 
      } 
    } 
  } }; 
module.exports = Token;    // 导出对象，方便其他模块调用
